#ifndef FIGURE_H
#define FIGURE_H

#include <vector>

enum FigureType{ell, rect, tri};

class Figure
{
protected:
    std::vector<double> data;

public:
    Figure(std::vector<double> &_data);

    virtual void setData(std::vector<double> &_data) = 0;
    virtual std::vector<double> getData() = 0;

    virtual void extension(double coefficient) = 0;
    virtual void shift(double coefficient1, double coefficient2) = 0;
    virtual void turn(double angle) = 0;

    virtual FigureType type() = 0;

    virtual ~Figure();
};

#endif // FIGURE_H
